package com.icinfo.cloud.provider.punish.execute.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;
import org.springframework.util.ObjectUtils;

/**
 * @Classname CourtCertTypeEnum
 * @Description 法院证件枚举类型
 * @Date 2022年09月07日
 * @Author zhanghongqiang
 */
@AllArgsConstructor
public enum CourtCertTypeEnum {
    /**
     * 法院证件枚举类型
     */
    JMSFZ("15_000008-1", "居民身份证"),
    ZGGMHZ("15_000008-2", "中国公民护照"),
    TWJMLWDLTXZ("15_000008-3", "台湾居民来往大陆通行证"),
    GAJMLWNDTXZ("15_000008-4", "港澳居民来往内地通行证"),
    WGGMHZ("15_000008-5", "外国公民护照"),
    HKB("15_000008-6", "户口薄"),
    SHZYXYDMZ("15_000008-7", "社会统一信用代码证"),
    JDCJSZ("15_000008-8", "机动车驾驶证"),
    JJZJ("15_000008-9", "军警证件"),
    QT("15_000008-255", "其他");


    /**
     * 编码
     */
    @Getter
    private String code;
    /**
     * 描述
     */
    @Getter
    private String des;


    /**
     * 描述：根据code获取value
     *
     * @param code 编码
     * @return 描述内容
     * @author xiangyuyu
     * @date 2022-02-22 10:43
     */
    public static String getValueByCode(String code) {
        if (ObjectUtils.isEmpty(code)) {
            return null;
        }
        for (CourtCertTypeEnum e : CourtCertTypeEnum.values()) {
            if (code.equals(e.getCode())) {
                return e.getDes();
            }
        }
        return code;
    }

    /**
     * 描述：校验code是否是合法枚举
     *
     * @param code 枚举code
     * @return boolean 是否合法枚举（true-是/false-否）
     * @author xiangyuyu
     * @date 2022-02-22 10:42
     */
    public static boolean isLegalEnumCode(String code) {
        boolean flag = false;
        for (CourtCertTypeEnum e : CourtCertTypeEnum.values()) {
            if (e.getCode().equalsIgnoreCase(code)) {
                flag = true;
                break;
            }
        }
        return flag;
    }
}
